package dominio.reserva;

import java.util.Date;
import java.util.List;

import dominio.Fabrica;
import dominio.cliente.Cliente;
import dominio.cliente.ClienteServico;
import dominio.quarto.Quarto;
import dominio.quarto.QuartoServico;

public class ReservaServico {

	private ClienteServico clienteServico;
	private QuartoServico quartoServico;

	public ReservaServico(ClienteServico clienteServico,
			QuartoServico quartoServico) {
		this.clienteServico = clienteServico;
		this.quartoServico = quartoServico;
	}

	public List<Reserva> listar() {
		return Fabrica.RESERVA_REPOSITORIO.listar();
	}

	public void reservar(String cpfCliente, Integer numeroQuarto, Integer diarias, Date dataEntrada) {
		Cliente cliente = clienteServico.obter(cpfCliente);
		Quarto quarto = quartoServico.obter(numeroQuarto);
		Reserva reserva = Fabrica.RESERVA.criar(cliente, quarto, diarias, dataEntrada);
		reserva.reserva();
	}
}
